home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
tools
/
czesc_3
/
phoonsrc
/
inline_iff.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-09-08
|
3KB
|
132 lines
/*
* inline_iff.h
*
* Created: Mon Jul 06 21:23:21 1992 too
* Last modified: Tue Sep 08 16:27:56 1992 too
*
*/
#ifndef __INLINE_IFF_H
#define __INLINE_IFF_H
#include <inline/stubs.h>
__BEGIN_DECLS
#ifndef BASE_EXT_DECL
#define BASE_EXT_DECL extern struct Library * IFFBase;
#endif
#ifndef BASE_PAR_DECL
#define BASE_PAR_DECL
#define BASE_PAR_DECL0 void
#endif
#ifndef BASE_NAME
#define BASE_NAME IFFBase
#endif
static __inline void
IFFL_CloseIFF(BASE_PAR_DECL IFFL_HANDLE iff)
{
BASE_EXT_DECL
register void * a6 __asm ("a6");
register IFFL_HANDLE a1 __asm ("a1");
a6 = BASE_NAME;
a1 = iff;
__asm volatile ("
jsr a6@(-0x24)"
: /* no output */
: "r" (a6), "r" (a1)
: "d0", "d1", "a0", "a1");
}
static __inline BOOL
IFFL_DecodePic(BASE_PAR_DECL IFFL_HANDLE iff, struct BitMap *bitmap)
{
BASE_EXT_DECL
register BOOL res __asm ("d0");
register void * a6 __asm ("a6");
register IFFL_HANDLE a1 __asm ("a1");
register struct BitMap * a0 __asm ("a0");
a6 = BASE_NAME;
a1 = iff;
a0 = bitmap;
__asm volatile ("
jsr a6@(-0x3c)"
: "=r" (res)
: "r" (a6), "r" (a1), "r" (a0)
: "d0", "d1", "a0", "a1");
return res;
}
static __inline struct IFFL_BMHD *
IFFL_GetBMHD(BASE_PAR_DECL IFFL_HANDLE iff)
{
BASE_EXT_DECL
register struct IFFL_BMHD * res __asm ("d0");
register void * a6 __asm ("a6");
register IFFL_HANDLE a1 __asm ("a1");
a6 = BASE_NAME;
a1 = iff;
__asm volatile ("
jsr a6@(-0x30)"
: "=r" (res)
: "r" (a6), "r" (a1)
: "d0", "d1", "a0", "a1");
return res;
}
static __inline IFFL_HANDLE
IFFL_OpenIFF(BASE_PAR_DECL char *filename, ULONG mode)
{
BASE_EXT_DECL
register IFFL_HANDLE res __asm ("d0");
register void * a6 __asm ("a6");
register char * a0 __asm ("a0");
register ULONG d0 __asm ("d0");
a6 = BASE_NAME;
a0 = filename;
d0 = mode;
__asm volatile ("
jsr a6@(-0x78)"
: "=r" (res)
: "r" (a6), "r" (a0), "r" (d0)
: "d0", "d1", "a0", "a1");
return res;
}
static __inline BOOL
IFFL_SaveBitMap(BASE_PAR_DECL char *filename, struct BitMap *bitmap, WORD *colortable, LONG flags)
{
BASE_EXT_DECL
register BOOL res __asm ("d0");
register void * a6 __asm ("a6");
register char * a0 __asm ("a0");
register struct BitMap* a1 __asm ("a1");
register WORD * a2 __asm ("a2");
register LONG d0 __asm ("d0");
a6 = BASE_NAME;
a0 = filename;
a1 = bitmap;
a2 = colortable;
d0 = flags;
__asm volatile ("
jsr a6@(-0x42)"
: "=r" (res)
: "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (d0)
: "d0", "d1", "a0", "a1");
return res;
}
#undef BASE_EXT_DECL
#undef BASE_PAR_DECL
#undef BASE_PAR_DECL0
#undef BASE_NAME
__END_DECLS
#endif /* _INLINE_IFF_H */